package com.cskaoyan.javase.method._5overload._1basic;

/**
 * @description: 为什么方法的重载要求形参列表不同呢?
 * @author: wuguidong@cskaoyan.onaliyun.com
 **/

/**
 * 如果方法构成了重载,那么编译器如何得知调用哪个方法呢?
 * 根据方法的形参列表来判断,所以构成重载的方法必须形参列表不同
 *
 * 就近原则: 在存在多个选项时,java当中总是选择最近的去匹配
 */
public class Demo {
    public static void main(String[] args) {
        //test(10);
        //Ambiguous method call: both 'Demo.test(double, int)' and 'Demo.test(int, double)' match
        test(10,10.0);
    }

    public static void test() {
    }

    //public static void test(int a){
    //}
    //public static void test(long a){
    //}
    public static void test(double a) {
    }

    public static void test(double a, int b) {}
    public static void test(int a, double b) {}
}
